package com.carkeeper.service;

import com.carkeeper.dto.CarDTO;
import com.carkeeper.service.serviceFallback.UserFallbackFactory;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*;

import java.util.List;

/**
 * 车辆信息-微服务接口
 */
@FeignClient(value = "carkeeper-user", fallbackFactory = UserFallbackFactory.class)
public interface CarFeign {

    /**
     * 获取车辆信息
     *
     * @param id 车辆id
     * @return 车辆信息
     */
    @GetMapping("/car/{id}")
    CarDTO findById(@PathVariable(value = "id") Long id);

    /**
     * 获取车辆列表
     *
     * @param dto 查询条件
     * @return 车辆列表
     */
    @PostMapping("/car/list")
    List<CarDTO> findAll(@RequestBody CarDTO dto);

    /**
     * 根据车牌号获取车辆信息
     *
     * @param dto 车牌号 在对象中只传code即可
     * @return 车辆信息
     */
    @PostMapping("/car/code")
    CarDTO findByCode(@RequestBody CarDTO dto);
}

